Skip to content

Conversation

@masnwilliams
Copy link
Contributor

@masnwilliams masnwilliams commented Jan 17, 2026

This PR updates the Go SDK to cee2050be3f8136505d41c20c2903dfca2cbc479 and adds CLI commands for new SDK methods.

SDK Update

  • Updated kernel-go-sdk to cee2050be3f8136505d41c20c2903dfca2cbc479

Coverage Analysis

This PR was generated by performing a full enumeration of SDK methods and CLI commands.

New Commands

  • kernel credential-providers list - List configured external credential providers
  • kernel credential-providers get <id> - Get a credential provider by ID
  • kernel credential-providers create - Create a new credential provider (supports 1Password)
  • kernel credential-providers update <id> - Update a credential provider's configuration
  • kernel credential-providers delete <id> - Delete a credential provider
  • kernel credential-providers test <id> - Test a credential provider connection

Breaking Changes Fixed

  • Fixed browsers.Get() calls to pass new required BrowserGetParams parameter

Triggered by: kernel/kernel-go-sdk@cee2050
Reviewer: @masnwilliams


Note

Introduces new authentication automation and external credential provider management, updates to latest SDK, and extends browser tooling.

  • Agent Auth CLI: New kernel agents auth commands (create/get/list/delete, invocations create/get/exchange/submit, and run) to orchestrate end‑to‑end web auth flows with auto field submit, TOTP, MFA handling, live view, and JSON/JSONL output
  • Credential Providers: New kernel credential-providers (list/get/create/update/delete/test) supporting 1Password tokens and cache TTL; wired into root
  • Browser API updates: Migrate browsers.Get to require BrowserGetParams; add process resize (PTY cols/rows) and filesystem watch (fs watch start/stop/events); propagate new Get usage across commands and tests
  • Docs: README gains sections for Agent Auth and Credentials with examples
  • Deps: Bump kernel-go-sdk to cee2050...; add pquerna/otp; update go.sum

Written by Cursor Bugbot for commit 30c509d. This will update automatically on new commits. Configure here.

@masnwilliams masnwilliams requested a review from rgarcia January 17, 2026 21:25
@github-actions
Copy link

github-actions bot commented Jan 17, 2026

🔧 CI Fix Available

I've pushed a fix for the CI failure. The FakeBrowsersService test double was missing the kernel.BrowserGetParams parameter in its Get method signature, which is now required by the BrowsersService interface after the SDK update.

👉 Click here to create a PR with the fix

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

- Update kernel-go-sdk from v0.26.0 to v0.27.0
- Update BrowsersService.Get interface to include new BrowserGetParams parameter
- Update all browser Get() calls to pass empty BrowserGetParams{}

SDK version: db80dd764a1e279cb1a806e8d87ce037828ea32f
@rgarcia rgarcia force-pushed the cli-coverage-update branch from 42ebd6d to 31b8305 Compare January 21, 2026 05:33
@rgarcia rgarcia changed the title CLI: Add agents auth, process resize, and fs watch commands CLI: Update Go SDK to db80dd764a1e279cb1a806e8d87ce037828ea32f Jan 21, 2026
Cursor Agent and others added 5 commits January 21, 2026 00:47
…watch commands

- Update kernel-go-sdk to v0.26.1-0.20260117213330-c6c0c0d711e9
- Add agents auth commands: create, get, list, delete
- Add agents auth invocations commands: create, get, exchange, submit
- Add browsers process resize command
- Add browsers fs watch commands: start, stop, events
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is
generating a summary for commit
44883ef. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Cursor Agent <cursor-agent@onkernel.com>
- Added `kernel agents auth run` command to automate the full authentication process, including profile creation, credential management, and invocation handling.
- Introduced support for TOTP codes for two-factor authentication, allowing automatic submission during the auth flow.
- Updated `README.md` with detailed usage instructions and examples for the new authentication commands.
- Added dependencies for `github.com/pquerna/otp` and `github.com/boombuler/barcode` to support TOTP generation and indirect usage.
- Enhanced `go.mod` and `go.sum` to reflect the new dependencies.

This update significantly improves the user experience for managing agent authentication, making it more streamlined and efficient.
The generateTOTPCode function unconditionally printed a human-readable
message via pterm.Info.Printf when waiting for a fresh TOTP window. This
could corrupt JSONL output when --output json was specified in
AgentAuthRunCmd.Run.

Added a 'quiet' parameter to generateTOTPCode to suppress console output
when in JSON mode, preventing non-JSON messages from corrupting the
output stream for programmatic consumers.

Co-authored-by: mason <mason@onkernel.com>
- Updated kernel-go-sdk to cee2050be3f8136505d41c20c2903dfca2cbc479
- Added new credential-providers command group for managing external
  credential providers (e.g., 1Password service account integrations)
  - list: List configured credential providers
  - get: Get a credential provider by ID
  - create: Create a new credential provider
  - update: Update a credential provider's configuration
  - delete: Delete a credential provider
  - test: Test a credential provider connection
- Fixed browsers.Get() calls to pass new required BrowserGetParams
@rgarcia rgarcia changed the title CLI: Update Go SDK to db80dd764a1e279cb1a806e8d87ce037828ea32f CLI: Update SDK to cee2050 and add credential-providers commands Jan 21, 2026
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Aligns test fakes with the updated SDK `BrowsersService.Get`
signature.
> 
> - Change `FakeBrowsersService.Get` to accept `query
kernel.BrowserGetParams` and update its implementation
> - Update all tests that stub or invoke `Get` (e.g., `BrowsersView`,
`BrowsersGet`, logs/replays/process/fs/computer helpers) to use the new
parameter
> - No functional behavior changes; assertions and outputs remain the
same
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
cf2dd29. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Cursor Agent <cursor-agent@onkernel.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

}
if in.Priority > 0 {
params.UpdateCredentialProviderRequest.Priority = kernel.Opt(in.Priority)
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot set credential provider priority to zero

Medium Severity

The credential-providers update command cannot set priority to 0. The condition in.Priority > 0 at line 203 prevents 0 from being sent to the API, but the help text states "lower numbers are checked first" - making 0 a valid highest-priority value. Unlike Enabled which correctly uses BoolFlag to track explicit flag usage, Priority is passed directly without tracking whether --priority was explicitly provided. Users running --priority 0 will see no effect because the value is silently ignored.

Additional Locations (1)

Fix in Cursor Fix in Web

}
if in.CacheTtlSeconds > 0 {
params.UpdateCredentialProviderRequest.CacheTtlSeconds = kernel.Opt(in.CacheTtlSeconds)
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot set credential provider cache TTL to zero

Low Severity

The credential-providers update command cannot set cache-ttl to 0. The condition in.CacheTtlSeconds > 0 at line 197 prevents 0 from being sent to the API. Setting cache TTL to 0 is a valid use case to disable caching, but users running --cache-ttl 0 will see no effect because the value is silently ignored. Unlike Enabled which uses BoolFlag to track explicit flag usage, CacheTtlSeconds lacks this tracking and cannot distinguish between "not provided" and "explicitly set to 0".

Additional Locations (1)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants